home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 1995 March / macformat-022.iso / Shareware City / Developers / src / out-of-phase-102-c / OutOfPhase 1.02 Source / OutOfPhase Folder / CodeCenter.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-11-23  |  1.8 KB  |  59 lines  |  [TEXT/KAHL]

  1. /* CodeCenter.h */
  2.  
  3. #ifndef Included_CodeCenter_h
  4. #define Included_CodeCenter_h
  5.  
  6. /* CodeCenter module depends on */
  7. /* MiscInfo.h */
  8. /* Audit */
  9. /* Debug */
  10. /* Definitions */
  11. /* Array */
  12. /* Memory */
  13. /* FunctionCode */
  14. /* PcodeObject */
  15. /* DataMunging */
  16.  
  17. struct CodeCenterRec;
  18. typedef struct CodeCenterRec CodeCenterRec;
  19.  
  20. /* forwards */
  21. struct FuncCodeRec;
  22. union OpcodeRec;
  23.  
  24. /* create new object code storage database */
  25. CodeCenterRec*            NewCodeCenter(void);
  26.  
  27. /* delete object code database and all objects in it */
  28. void                                DisposeCodeCenter(CodeCenterRec* CodeCenter);
  29.  
  30. /* if we have the pcode, but not the function, then find it */
  31. /* it returns NIL if the function couldn't be found. */
  32. struct FuncCodeRec*    GetFunctionFromOpcode(CodeCenterRec* CodeCenter,
  33.                                             union OpcodeRec* Opcode);
  34.  
  35. /* obtain a handle for the named function */
  36. struct FuncCodeRec*    ObtainFunctionHandle(CodeCenterRec* CodeCenter, char* FunctionName,
  37.                                             long FuncNameLength);
  38.  
  39. /* find out how many functions are known by the code center */
  40. long                                CodeCenterGetNumFunctions(CodeCenterRec* CodeCenter);
  41.  
  42. /* delete all object code from a particular code module & delink references */
  43. void                                FlushModulesCompiledFunctions(CodeCenterRec* CodeCenter,
  44.                                             void* Signature);
  45.  
  46. /* get a list of functions owned by a specified code module */
  47. struct ArrayRec*        GetListOfFunctionsForModule(CodeCenterRec* CodeCenter,
  48.                                             void* Signature);
  49.  
  50. /* find out if a function with the given name exists */
  51. MyBoolean                        CodeCenterHaveThisFunction(CodeCenterRec* CodeCenter,
  52.                                             char* FunctionName, long FuncNameLength);
  53.  
  54. /* add this function to the code center.  it better not be in there already */
  55. MyBoolean                        AddFunctionToCodeCenter(CodeCenterRec* CodeCenter,
  56.                                             struct FuncCodeRec* TheNewFunction, void* Signature);
  57.  
  58. #endif
  59.